package com.cskaoyan.javase.array.declaration2;

/**
 * @description: 数组的声明
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * 数组的声明：
 * 类比于变量的声明，变量需要指定变量数据类型，还要起名
 * 同样的数组也要声明数组中存放的数据的数据类型，并且要起名
 * 语法：
 *  格式1： 数据类型[] 数组名;
 *  数组名就是一个变量名，遵循小驼峰的命名规范，数组名最好加一个s，表示复数，是一个容器
 *  格式2： 数据类型 数组名[];
 *
 *  C-style：C语言的风格
 * 这种风格也是沿袭了C的风格，这种东西之所以现在还被语法所允许
 * 原因在于Java的早期开发者很多都是C语言的开发者，在Java的源代码当中写了非常多的这种格式的代码，越早期的代码 越多
 *
 * 格式1比较好，[]代表数组，当一个数据类型连接[]，我们就可以直观的看到这个数组是什么类型的
 *
 * ​	1，第一种格式具有更好的可读性
 * ​			可以直观的看到这个数组是一个什么数据类型的数组
 * ​	2，第二种格式，是Java沿袭自C语言的一种声明方式
 * ​			像C#这种和Java同源的设计语言，已经取消了数组的第二种声明格式
 * ​			不排除后期Java也会取消这一声明格式
 * ​	3，所以严格来说，在Java当中定义数组，都应该使用第一种格式
 *
 * 数组必须先声明，声明后必须初始化才能使用
 *
 */
public class Demo {
    public static void main(String[] args) {
        //格式1声明数组
        int[] arr1;

        //格式2声明数组
        int arr2[];// C-style array declaration of local variable 'arr2'.
        //警告你，你使用的声明方式是c语言风格的方式

        //System.out.println(arr1); //Variable 'arr1' might not have been initialized


    }
}
